home *** CD-ROM | disk | FTP | other *** search
- UNIT Req;
-
- INTERFACE
-
- CONST
- Numpairs = 9;
- DSize = 130;
- FChars = 30;
- Wildlength = 30;
- GLNODEFAULTB = 1;
- SHOWINFO = 1;
- EXTSELECT = 2;
- CACHING = 4;
- GETFONTS = 8;
- INFOGADGET = 16;
- HIDEWILDS = 32;
- ABSOLUTEXY = 64;
- CACHEPURGE = 128;
- NOHALFECACHE = 256;
- NOSORT = 512;
- NODRAG = 1024;
- SAVING = 2048;
- LOADING = 4096;
- DIRONLY = 8192;
-
- TYPE
- STR80 = STRING[800];
-
- p_DateStamp = ^DateStamp;
- DateStamp =
- RECORD
- ds_Days : LONG;
- ds_Minute : LONG;
- ds_Tick : LONG;
- END;
-
- TRStructure =
- RECORD
- Text : STR;
- Controls : PTR;
- Window : PTR;
- MiddleText : STR;
- PositivText : STR;
- NegativText : STR;
- Title : STR;
- KeyMask : WORD;
- textcolor : WORD;
- detailcolor : WORD;
- blockcolor : WORD;
- versionnumber: WORD;
- rfu1 : LONG;
- rfu2 : LONG;
- END;
-
- GetLongStruct =
- RECORD
- titlebar : STR;
- defaultval : LONG;
- minlimit : LONG;
- maxlimit : LONG;
- result : LONG;
- window : PTR;
- versionnumber: WORD
- flags : LONG;
- rfu2 : LONG;
- END;
-
- p_ESStructure = ^ESStructure;
- ESStructure =
- RECORD
- ESStructure : p_ESStructure;
- NameLength : WORD;
- Pad : WORD;
- Node : PTR;
- thefilename : STRING[31];
- END;
-
- p_FileRequesterStr = ^FileRequesterStr;
- FileRequesterStr =
- RECORD
- VersionNumber : WORD;
- Title : STR;
- DirName : STR;
- FileName : STR;
- PathName : STR;
- Window : PTR;
- MaxExtSelect : WORD;
- numlines : WORD;
- numcolumns : WORD;
- devcolumns : WORD;
- Flags : LONG;
- dirnamescolor : WORD;
- filenamescolor : WORD;
- devicenamescolor : WORD;
- fontnamescolor : WORD;
- fontsizecolor : WORD;
- detailcolor : WORD;
- blockcolor : WORD;
- gagdettextcolor : WORD;
- textmessagecolor : WORD;
- stringnamecolor : WORD;
- stringgagdetcolor: WORD;
- boxbordercolor : WORD;
- gadgetboxcolor : WORD;
- RFU_Stuff : STRING[36];
- DateStamp : DateStamp;
- WindowLeftEdge : WORD;
- WindowTopEdge : WORD;
- FontYSize : WORD;
- FontStyle : WORD;
- ExtendedSelect : p_ESStructure;
- Hide : STRING[32];
- Show : STRING[32];
- FileBufferPos : WORD;
- FileDispPos : WORD;
- DirBufferPos : WORD;
- DirDispPos : WORD;
- HideBufferPos : WORD;
- HideDispPos : WORD;
- ShowBufferPos : WORD;
- ShowDispPos : WORD;
- Memory : PTR; {PRIVAT-AREA STARTS HERE}
- Memory2 : PTR;
- Lock : PTR;
- PrivatDirBuffer : STRING[132];
- FileInfoBlock : PTR;
- NumEntries : WORD;
- NumHiddenEntries : WORD;
- filestartnumber : WORD;
- devicestartnumber: WORD;
- END;
-
- VAR ReqBase: PTR;
-
- LIBRARY ReqBase:
-
- -30 : PROCEDURE Centre(a0: PTR; d0,d1: WORD);
- -84 : FUNCTION FileRequest(a0: PTR): LONG;
- -90 : FUNCTION ColorRequester(d0: LONG): LONG;
- -102: PROCEDURE MakeButton(a0: PTR; a1,a2: PTR; d0,d1,d2: LONG);
- -114: PROCEDURE Purgefiles(a0: PTR);
- -126: PROCEDURE MakeGadget(a0: PTR; a1,a2: STR; d0,d1: LONG);
- -132: PROCEDURE MakeString(a0: PTR; a1,a2: STR; d0,d1,d2,d3: LONG);
- -138: PROCEDURE MakeProp(a0: PTR; d0,d1,d2: LONG);
- -144: PROCEDURE LinkGadget(a0: PTR; a1: STR; a3: PTR; d0,d1: LONG);
- -150: PROCEDURE LinkStringGadget(a0: PTR; a3: PTR; d0,d1,d2,d3,d4: LONG);
- -156: PROCEDURE LinkPropGadget(a0: PTR; a3: PTR; d0,d1,d2,d3,d4: LONG);
- -162: FUNCTION GetString(a0,a1: STR; a2: PTR; d0,d1: LONG): BOOLEAN;
- -174: FUNCTION TextRequest(a0: PTR): LONG;
- -180: FUNCTION GetLong(a0: PTR): BOOLEAN;
-
- END;
-
- PROCEDURE SimpleRequest(a0: STR80; a1: STRING);
- FUNCTION DoubleRequest(a0: STR80; a1: STRING): BOOLEAN;
- PROCEDURE MyRequest(VAR VNaim: STRING; tin: STRING);;
- PROCEDURE VaileRequest(VAR VNaim: STRING; tin: STRING);;
- PROCEDURE GetNumber(title: STR; min,max: BYTE; VAR Result1: BYTE);
- PROCEDURE CloseDown;
-
- IMPLEMENTATION
-
- PROCEDURE SimpleRequest;
-
- VAR textRPtr: ^TRStructure;
- Ans : BYTE;
- negText : STRING[7];
-
- BEGIN
- negText:='Resume';
- NEW(textRPtr);
- textRPTR^:=TRStructure(^a0,NIL,NIL,NIL,NIL,^negText,^a1,15,1,0,0,0,0,0);
- Ans:=TextRequest(textRPtr);
- DISPOSE(textRPtr);
- END;
-
- FUNCTION DoubleRequest;
-
- VAR textRPtr : ^TRStructure;
- Ans : BYTE;
- negText, posText : STRING[7];
-
- BEGIN
- negText:='Oh no!';
- posText:='Sure!';
- NEW(textRPtr);
- textRPTR^:=TRStructure(^a0,NIL,NIL,NIL,^posText,^negText,^a1,15,1,0,0,0,0,0);
- Ans:=TextRequest(textRPtr);
- DISPOSE(textRPtr);
- IF Ans=1 THEN DoubleRequest:=TRUE
- ELSE DoubleRequest:=FALSE;
- END;
-
- PROCEDURE MyRequest;
-
- VAR DirFi : STRING[DSize];
- PahtN : STRING[DSize+FChars+2];
- Sze : STRING[10];
- ReqPtr : ^FileRequesterStr;
-
- BEGIN
- NEW(ReqPtr);
- DirFi:='FONTS:';
- ReqPtr^:=FileRequesterStr(
- 0, ^tin, ^DirFi, ^VNaim, ^PahtN, NIL, 0, 15, 25, 10, GETFONTS+LOADING,
- 3, 1, 3, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, CHR(0), datestamp(0,0,0),
- 0, 0, 0, 0, NIL, "", "", 0, 0, 0, 0, 0, 0, 0, 0, NIL, NIL, NIL, "",
- NIL, 0, 0, 0, 0);
- IF FileRequest(ReqPtr)<>0 THEN
- BEGIN
- Sze:=RealStr(ReqPtr^.FontYSize,0);
- DELETE(Sze,1,1);
- DELETE(PahtN,LENGTH(PahtN)-4,5);
- Vnaim:=PahtN+"/"+Sze;
- END;
- DISPOSE(ReqPtr);
- END;
-
- PROCEDURE VaileRequest;
-
- VAR DirFi : STRING[DSize];
- PahtN : STRING[DSize+FChars+2];
- Sze : STRING[10];
- ReqPtr : ^FileRequesterStr;
-
- BEGIN
- NEW(ReqPtr);
- DirFi:='RAM:';
- ReqPtr^:=FileRequesterStr(
- 0, ^tin, ^DirFi, ^VNaim, ^PahtN, NIL, 0, 15, 25, 10, LOADING,
- 3, 1, 3, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, CHR(0), datestamp(0,0,0),
- 0, 0, 0, 0, NIL, "", "", 0, 0, 0, 0, 0, 0, 0, 0, NIL, NIL, NIL, "",
- NIL, 0, 0, 0, 0);
- IF FileRequest(ReqPtr)<>0 THEN VNaim:=PahtN
- ELSE VNaim:='';
- DISPOSE(ReqPtr);
- END;
-
- PROCEDURE GetNumber;
-
- VAR Zahl: ^GetLongStruct;
-
- BEGIN
- NEW(Zahl);
- Zahl^:=GetLongStruct(title,Result1,min,max,0,NIL,0,0,0);
- IF GetLong(Zahl) THEN Result1:=Zahl^.Result;
- DISPOSE(Zahl);
- END;
-
- PROCEDURE CloseDown;
-
- BEGIN
- CloseLib(ReqBase);
- END;
-
- BEGIN
- OpenLib(ReqBase,'req.library',0);
- ADDEXITSERVER(CloseDown);
- IF ReqBase=NIL THEN
- BEGIN
- IF FromWB THEN
- BEGIN
- ASSIGN(INPUT, 'CON:50/100/540/60/Sorry :');
- RESET(INPUT);
- OUTPUT:=INPUT;
- WRITELN("Unable to open req.library!!!!");
- DELAY(100);
- END
- ELSE
- WRITELN("Unable to open req.library!!!!");
- HALT(10);
- END
- END.
-